<?php
include_once("../Dao/db.php");
Class Regist
{
	var $errorMessage;
	
	var $scaleIdValueList="";
	var $industryIdValueList="";
	
	var $memberid;
			
	// ログインID
	var $loginid;
	// パスワード
	var $password;
	// パスワード確認用
	var $passwordConfirm;	
	// 会社名
	var $company;
	// 役職名
	var $post;
	// 担当者名
	var $name;
	// 電話番号
	var $telephone;
	// メールアドレスード
	var $email;
	// 運営者
	var $management=1;
	// 会社規模ード
	//var $scale;
	var $scaleId=1;
	// 業種ID
	var $industryId=1;
	// 住所
	var $address;
	// 部署
	var $section;
	// fax番号
	var $fax;
	// 郵便番号
	var $postalCode;
	// リスティング成績分布への参加フラグ
	var $joinRanking=1;
	
	function mytask()
	{
		// 初期化の場合
		if($_POST["act"] == null)
		{
			$this->errorMessage="";
			$this->doInit();
		}
		// 登録完了の場合
		else if ($_POST["act"] == "submit")
		{
			$this->errorMessage="";
			$this->iniForm();
			$this->doInit();
			// パスワードと確認用パスワードは同じではない場合
			if ($_POST["password"] != $_POST["confirm_password"])
			{
				$this->errorMessage = "パスワードと確認用パスワードは同じではありません。";
				return;
			}
			else if($this->checkAccount($_POST["googleAccount"]) != "1")
			{				
				$this->doSubmit();
			}
			else {
				return;			
			}			
		}
	}
	
	function doInit()
	{
		if($_GET["cmp_rege"] == null)
		{
			header("Location:RegistNew.php");
		}
		else
		{
			$sql = "delete from member where mailStatus=2 and DATE_ADD(now(),INTERVAL -1 DAY) > registDate";
			mysql_query($sql);	
			
			$sql = "select memberId,loginid ,email from member where loginid='".$this->decrypt($_GET["cmp_rege"], "listing")."' and mailStatus=2 and DATE_ADD(now(),INTERVAL -1 DAY) <= registDate ";
			//echo $sql;
			$result = mysql_query($sql);
			$rows = mysql_num_rows($result);
		// 使用できる
			if($rows <= 0)
			{
				header("Location:RegistNew.php");
			}
			else
			{
				$data = mysql_fetch_row($result);
				$this->memberid=$data[0];
				$this->loginid=$data[1];
				$this->email=$data[2];
			}
		}
		
		
		$this->getIndustryIdValueList();
		$this->getScaleIdValueList();
	}
	
	function doSubmit()
	{
		// ログインIDをチェックする
		//$OK = $this->checkLoginId();
		//if($OK == "1")
		//{
			$this->updateMember();
			//$this->getIndustryIdValueList();
		//}
		//else
		//{
		//	return;
		//}
	}
	
	function getIndustryIdValueList()
	{
		$sql = "select industryId,name from industry";
		$result = mysql_query($sql);
		$rows = mysql_num_rows($result);
		if ($rows > 0)
		{
			for ($i=0;$i<$rows;$i++)
			{
				$data = mysql_fetch_row($result);				
				$this->industryIdValueList = $this->industryIdValueList."<option id=".$i." value=".$data[0].">".$data[1]."</option>";
			}			
		}
	}
	
	function getScaleIdValueList()
	{
		$sql = "select scaleId,scaleName from corpscale";
		$result = mysql_query($sql);
		$rows = mysql_num_rows($result);
		if ($rows > 0)
		{
			for ($i=0;$i<$rows;$i++)
			{
				$data = mysql_fetch_row($result);				
				$this->scaleIdValueList = $this->scaleIdValueList."<option id=".$i." value=".$data[0].">".$data[1]."</option>";
			}			
		}
	}
	
	function updateMember()
	{
		$sql = "update member ";
		$sql = $sql."set `password`='{$_POST["confirm_password"]}',company='{$_POST["company"]}',post='{$_POST["post"]}',";
		$sql = $sql."name='{$_POST["name"]}',telephone='{$_POST["telephone"]}',email='{$_POST["email"]}',management={$_POST["management"]},scale={$_POST["scaleId"]},";
		$sql = $sql."industryId={$_POST["industryId"]},address='{$_POST["address"]}',section='{$_POST["section"]}',fax='{$_POST["fax"]}',postalCode='{$_POST["postalCode"]}',";
		$sql = $sql."`status`=1,joinRanking='{$_POST["joinRanking"]}',lastloginDate=now(),registDate=now(),mailStatus=1 ";
		$sql = $sql." where memberid=".$_POST["memberid"];
		$sql = $sql." and loginid='".$this->decrypt($_GET["cmp_rege"], "listing")."'";	
		//echo $sql;		
		$result = mysql_query($sql);		
		if ($result != "1")
		{
			$this->errorMessage = "更新できません。";
			return;
		}
		// 追加成功の場合、google,yahooアカウントを追加する
		else
		{
			$this->insertAccount($_POST["googleAccount"],$_POST["googlePassword"],1);
			session_start();
			$_SESSION["memberId"] = $this->memberid;
			$_SESSION["loginId"] = $_POST["loginid"];
			$_SESSION["company"] = $_POST["company"];
			header("Location:AccountEdit.php");
			 
		}
	}
	
	function insertAccount($account_name,$password,$type)
	{
		$sql = "insert into account ";
		$sql = $sql."(memberId,account_name,`password`,`type`,`status`) ";
		$sql = $sql."values ($this->memberid,'$account_name','$password',$type,1)";
		$result = mysql_query($sql);		
		if ($result != "1")
		{
			$this->errorMessage = "エラーが発生しました。";
			return;
		}
	}
	
	function iniForm()
	{
		//$this->loginid = $_POST["loginid"];	
		$this->password = $_POST["password"];
	  
		$this->passwordConfirm = $_POST["confirm_password"];
		// 会社名
		$this->company = $_POST["company"];
		// 役職名
		$this->post = $_POST["post"];
		// 担当者名
		$this->name = $_POST["name"];
		// 電話番号
		$this->telephone = $_POST["telephone"];
		// メールアドレスード
		$this->email = $_POST["email"];
		// 運営者
		$this->management = $_POST["management"];
		// 会社規模ード
		$this->scaleId = $_POST["scaleId"];
		// 業種ID
		$this->industryId = $_POST["industryId"];
		// 住所
		$this->address = $_POST["address"];
		// 部署
		$this->section = $_POST["section"];
		// fax番号
		$this->fax = $_POST["fax"];
		// 郵便番号
		$this->postalCode = $_POST["postalCode"];
		
		$this->joinRanking = $_POST["joinRanking"];
	}
	
	
	
	function decrypt($string, $key) {
		$result = '';
		$string = base64_decode($string);
		
		for($i=0; $i<strlen($string); $i++) {
			$char = substr($string, $i, 1);
			$keychar = substr($key, ($i % strlen($key))-1, 1);
			$char = chr(ord($char)-ord($keychar));
			$result.=$char;
		}
	
		return $result;
	}
	
	function checkAccount($account_name)
	{
		$sql = "select id from account where account_name = '$account_name' and `status` = 1";
		$result = mysql_query($sql);
		$rows = mysql_num_rows($result);
		if($rows > 0)
		{
			$this->errorMessage = "同じGoogle Adwords アカウントは登録しています。別アカウントを入力してください。";
			return "1";
		}
		else
		{
			return "0";
		}
	}
	
}
?>